A service is a software application that is made available over a communication network, such as a cloud computing network. Any organization may avoid the expense of developing customized software by using services. In this way, ready-to-run software may be provided for various entities, such as organizations conducting business on the Internet. An example of a service may be software that enables a company to take credit payments over the Internet. Further, services can be aggregated to form a composite service. The services that comprise a composite service are called component services. Typical service composition methods use service models that describe the semantics of the component services. Based on service models, service composition can be automated.